package com.zcsy.manage.persistence.weixin;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.zcsy.manage.model.weixin.ActivityRecord;
import com.zcsy.manage.model.weixin.ParticipateRecord;
import com.zcsy.manage.model.weixin.PrizeRecord;


/**
 * @Title: AcitivityReordDao.java
 * @Package： com.zcsy.shop.persistence.weixin 
 * @Description: 微信营销活动纪录持久层接口方法
 *
 * @author tanghan barbadosliy@163.com
 * @Copyright: 2015 武汉中财数元信息技术有限公司 All rights reserved.
 * @date 2015年11月2日
 * @version 1.0
 * @see JDK1.7.0_75
 * @since
 */
public interface ActivityRecordDao {

	/**
	 * @Description 根据账号Id获取当前的活动规则<br>
	 * 
	 * @return 
	 * @author tanghan barbadosliy@163.com
	 * @date 2015年11月2日
	 * @see 
	 */
	public List<ActivityRecord> queryActivityRecordByType(@Param(value="type")Integer type);
	
	/**
	 * @Description 根据Id获取活动详情<br>
	 *  
	 * @param id 活动Id
	 * @return  id对应的活动对象
	 * @author tanghan barbadosliy@163.com
	 * @date 2015年11月10日
	 * @see 
	 */
	public ActivityRecord queryActivityRecordById(Integer id);
	
	
	/**
	 * @Description 插入营销活动信息<br>
	 * 
	 * @param record 微信营销活动
	 * @return  操作结果
	 * @author tanghan barbadosliy@163.com
	 * @date 2015年11月10日
	 * @see 
	 */
	public int insertActivityRecord(ActivityRecord record);
	
	/**
	 * @Description 更新营销活动信息<br>
	 * 
	 * @param record 微信营销活动对象
	 * @return   更新结果
	 * @author tanghan barbadosliy@163.com
	 * @date 2015年11月10日
	 * @see 
	 */
	public int updateActivityRecord(ActivityRecord record);
	
	/**
	 * @Description 新增微信用户参与纪录<br>
	 * 
	 * @param record 活动参与记录
	 * @return  操作结果
	 * @author tanghan barbadosliy@163.com
	 * @date 2015年11月11日
	 * @see 
	 */
	public int insertParticipateRecord(ParticipateRecord record);
	
	/**
	 * @Description 新增获奖纪录<br>
	 * 
	 * @param record  获奖纪录
	 * @return  新增获奖纪录
	 * @author tanghan barbadosliy@163.com
	 * @date 2015年11月11日
	 * @see 
	 */
	public int insertPrizeRecord(PrizeRecord record);
	
	
	/**
	 * @Description 根据活动Id获取该活动参与的会员信息<br>
	 * 
	 * @param activityId  活动Id
	 * @return  活动参与纪录
	 * @author tanghan barbadosliy@163.com
	 * @date 2015年11月10日
	 * @see 
	 */
	public List<ParticipateRecord> queryParticipateRecordByActivityId(Integer activityId);
	
	/**
	 * @Description 根据活动Id和微信唯一标识，获取该用户的获奖纪录<br>
	 * 
	 * @param openid  微信唯一标识
	 * @param activityId 活动Id
	 * @return  获奖纪录
	 * @author tanghan barbadosliy@163.com
	 * @date 2015年11月11日
	 * @see 
	 */
	public List<PrizeRecord> queryPrizeRecordByOpenIdAndActivityId(String openid,Integer activityId);
	
	/**
	 * @Description 根据活动Id和微信唯一标识，获取该用户的参加纪录<br>
	 * 
	 * @param openid  微信唯一标识
	 * @return activityId 活动id 
	 * @return 参与纪录
	 * @author tanghan barbadosliy@163.com
	 * @date 2015年11月11日
	 * @see 
	 */
	public List<ParticipateRecord> queryParticipateRecordByOpenIdAndActivityId(String openid, Integer activityId);
	
	/**
	 * @Description 根据活动参与Id更新用户参与次数<br>
	 * 
	 * @param id  活动Id
	 * @param total 用户参与次数
	 * @return 
	 * @author tanghan barbadosliy@163.com
	 * @date 2015年11月11日
	 * @see 
	 */
	public int updateParticipateTotalByIdAndActivityId(Integer id,Integer total);

	/**
	 * @Description 根据活动Id和获奖奖次查看当前获奖次数<br>
	 *  
	 * @param activityId 活动Id
	 * @param prize 获奖名次
	 * @return  
	 * @author tanghan barbadosliy@163.com
	 * @date 2015年11月11日
	 * @see 
	 */
	public List<PrizeRecord> getPrizeListByActivityIdAndPrize(Integer activityId, Integer prize);

}
